﻿<pre>
知识点一：数组对象的定义
	格式一：
		var aArrayName = new Array('dx','web','phpdl');
	格式二：
		var  aArrayName = new Array([n]);
		说明：如果指定一个参数n用来指定数组长度，格式一，二的new可以省略。
	格式三与四：
		var aArrayName  = ['PHP','seo','JS']
		var  aArrayName = []  
	说明：var  aArrayName = [n] 如果有n的话不是指定数组默认长度，而是把n理解为一个普通元素。
	说明：数组就是一组数据的集合，集合中的每一项都称为数组的元素,数组中元素的多少称为数组的长度。
	数组元素可以分别用来保存不同的内容。
	注意：JS的数组比较特别与其他语言相差很大，他本质仅仅是一种数据结构，形式有像面向对象中的类的感觉。
	<script>
		var arr1 = new Array('PHP','seo','JS');
		console.log(arr1[0]); 	//输出 PHP
		console.log(arr1[1]); 	//输出 seo
		console.log(arr1[2]); 	//输出 JS
	</script>
	以上代码说明：数组元素的访问用中括号语法，其中间的数字称为数组的索引，也就是个编号，这个编号默认从0开始。
		上面数组的长度是：3，因为有三个。
		数组长度和索引的关系：数组的长度 = 最大索引值加1
		
		
知识点二：length属性 
	特别的length属性，length不仅仅可以自动获取，也允许我们修改，如果length的值小于数组元素索引值
	那么索引值比length-1大的部分元素会丢失掉。因此：应用时候应特别小心，不能随意给length赋值。
	
	<script>
		console.log(arr1.length); //输出3， 可以通过length自动获取索引数组的长度，注意：不能获取下面要讲的关联数组的长度
		//向数组中添加元素 
		arr1[3] = "冬瓜";
		arr1[10] = "西瓜";
		console.log(arr1.length);	//输出 11
	 
		arr1.length = 10;
		console.log('通过for...in可以遍历数组中的属性也就是索引')
		for(p in arr1){
			console.log(p);
		}
	</script>


知识点三：给数组添加元素
	<script>
		console.log('------在数组末尾添加元素常用的方法------');
		var arr2 = Array();
		arr2[arr2.length] = "冬";
		arr2[arr2.length] = "瓜";	//arr2.length会自动加1
		arr2[arr2.length] = "皮";
		
		//遍历数组元素
		for(p2 in arr2){
			console.log("arr2["+p2+"] = "+arr2[p2]);
		}			
	</script> 
	输出如下
	arr2[0] = 冬
	arr2[1] = 瓜
	arr2[2] = 皮
 
 

知识点四：用instanceof检测一个对象是不是数组- 
	instanceof 与 isArray检测一个对象是否是数组
	
	<script>
		var arr3 = Array();
		console.log(arr3 instanceof Array);		//输出true
	
		var arr4 = ["P","H","P"];
		console.log(arr4 instanceof Array) ; 	//输出 true
		console.log(Array.isArray(arr4));		//检测方法二
		//其他非数组对象检测会显示false
		var arr6 = {
			a:'大',
			b:'像'
		};
		console.log(arr6 instanceof Array);		//输出false
		
	</script>

 
知识点五：关联型数组 
	<script>
		var aArr1 = [];
		aArr1['P'] = "PreProcessor";		//添加元素
		aArr1['H'] = "HyperText";
		console.log(aArr1['P']);			//关联数组访问方法
		console.log(aArr1.H);				//还可以这样访问
		//------for...in访问关联数组------ 
		for(p in aArr1){
			console.log('aArr1['+p+']='+aArr1[p]);
		}
 	</script>
	关联数组不支持length,因为length是为索引数组设计的。


知识点六：复合型数组
	 <script> 
		var arr2 = ['P','H','P'];
		console.log(arr2.length);		//输出：3
		arr2['S'] = "SEO";
		console.log(arr2.length);		//输出：3 ，添加关联元素不影响length值
		//查看数组细节
		for(p in arr2){
			console.log('arr2['+p+']='+arr2[p]);
		}	
	</script> 
	输出：
		arr2[0]=P
		arr2[1]=H
		arr2[2]=P
		arr2[S]=SEO
 
</pre>